var parentData, parentActive;
var dateFormatStr = 'yyyy-MM-dd HH:mm:ss';
layui.use(['form', 'layer', 'table'], function () {
	var form = layui.form,
		table = layui.table,
		$ = layui.$;

	form.verify({});
	
	//记录选中的数据:做缓存使用,作为参数传递给后台,然后生成pdf ,压缩
	var ids =new Array();
	 //当前表格中的全部数据:在表格的checkbox全选的时候没有得到数据, 因此用全局存放变量
	 var table_data=new Array();

	 idMap = new Map();
	window.active = {
		
	};

	// 表格渲染
	table.render({
		elem: '#tableList', //需要显示数据表格的table标签
		url: baseUrl('goods/select') ,//请求地址
		method: 'GET' ,//请求方式
		cellMinWidth: 150,
		height:450,
		done: function (res, curr, count) {
			  //设置全部数据到全局变量
			  table_data=res.data;
			  //在缓存中找到id ,然后设置data表格中的选中状态
                    //循环所有数据，找出对应关系，设置checkbox选中状态
                    for(var i=0;i< res.data.length;i++){
                        for (var j = 0; j < ids.length; j++) {
                            //数据id和要勾选的id相同时checkbox选中
                            if(res.data[i].id == ids[j])
                            {
                                //这里才是真正的有效勾选
                                res.data[i]["LAY_CHECKED"]='true';
                                //找到对应数据改变勾选样式，呈现出选中效果
                                var index= res.data[i]['LAY_TABLE_INDEX'];
                                $('.layui-table-fixed-l tr[data-index=' + index + '] input[type="checkbox"]').prop('checked', true);
                                $('.layui-table-fixed-l tr[data-index=' + index + '] input[type="checkbox"]').next().addClass('layui-form-checked');
                            }
                        }
                    }
                    //设置全选checkbox的选中状态，只有改变LAY_CHECKED的值， table.checkStatus才能抓取到选中的状态
                    var checkStatus = table.checkStatus('my-table');
                    if(checkStatus.isAll){
                        $(' .layui-table-header th[data-field="0"] input[type="checkbox"]').prop('checked', true);
                        $('.layui-table-header th[data-field="0"] input[type="checkbox"]').next().addClass('layui-form-checked');
                    }
                // //得到所有数据
                // console.log(res);
                // //得到当前页码
                // console.log(curr);
                // //得到数据总量
                // console.log(count);
		   },
		cols: [[
			{type:'checkbox'},
			{field:'name', title: '商品名称', } ,
			{width: 80, templet: '#templet_repertory',title: '库存', } ,
			// {width: 220, fixed: 'right', title:'操作',templet: '#tableListBar'}
		]],
		page: true,//开启分页
		limits: ['30', '50', '100'],//分页每页显示数据条数（页面选择）
		limit:30,
		request: {pageName: 'page', limitName: 'size'}
	});

	
        //复选框选中监听,将选中的id 设置到缓存数组,或者删除缓存数组
        table.on('checkbox(tableList)', function (obj) {
			if(obj.checked==true){
				if(obj.type=='one'){
					ids.push(obj.data.id);
			   }else{
					for(var i=0;i<table_data.length;i++){
						ids.push(table_data[i].id);
					}
				}
			}else{
				if(obj.type=='one'){
					for(var i=0;i<ids.length;i++){
					   if(ids[i]==obj.data.id){
							ids.remove(i);
						}
				   }
				}else{
					for(var i=0;i<ids.length;i++){
						for(var j=0;j<table_data.length;j++){
							if(ids[i]==table_data[j].id){
							   ids.remove(i);
						   }
						}
					}
				}
			}
			// console.log(ids);
		 });

		 Array.prototype.remove=function(dx)
		 {
			 if(isNaN(dx)||dx>this.length){return false;}
			 for(var i=0,n=0;i<this.length;i++)
			 {
				 if(this[i]!=this[dx])
				 {
					 this[n++]=this[i]
				 }
			 }
			 this.length-=1
		 }
	//表格按钮操作
	table.on('tool(tableList)', function (obj) {
		var type = obj.event;
		active[type] ? active[type].call(this, obj.data) : '';
	});

	//延时初始化，确保数据已经塞进来了
	setTimeout(() => {
		if (!parentData) return;
		//初始化数据
		form.val("dataform", JSON.parse(JSON.stringify(parentData)));
	}, 200);
	
	form.verify({});

	form.on("submit(save)", element => {
		(async function () {
			let dataform = form.val("dataform");
			// var checkStatus = table.checkStatus('tableList')
			data = ids;
			// console.log(data);
			if(auction_id=parentData.auction_id){
				auction_id=parentData.auction_id
			}else if(auction_id=parentData.id){
				auction_id=parentData.id
			}
			var goods_id =data
				security = dataform.security
				// console.log(auction_id,goods_id,security);
				popSubmitDial('auction/add_prizes', {auction_id,goods_id,security});
				parentActive.reload()
		
			
		})();
		return false;
	});
});